This invention relates generally to video graphics processing and more particularly to video graphics processing that includes mapped images based on chroma key coloring.
Computers are known to include a central processing unit (CPU), system memory, video graphics processing circuitry, and peripheral ports, which allow the CPU to communicate with peripheral devices such as monitors, external memory, printers, the Internet, servers, etc. As is also known, the video graphics processing circuitry receives graphics data (e.g., word processing applications, drawing applications, etc.) from the CPU and/or video data (movies, television broadcasts, etc.) from a video source and processes such input data to produce pixel data. The video graphics processing circuitry stores the pixel data in a frame buffer, where memory locations of the frame buffer correspond to physical locations of a monitor. The correlation of the memory locations to physical pixel locations may be done linearly or in a tiled fashion.
Typically, the video graphics processing circuitry receives video data and stores it in a video capture module, which may be contained within the frame buffer. The video graphics processing circuitry also stores chroma key color data in the frame buffer corresponding to the display, where the chroma key color defines a window in which the video data will be displayed. The size and location of the window may vary based on user selections. For example, the user may select to have the video data displayed in the entire display area, in the background, in a window with a foreground position to another window displaying graphics data, or in a window with a background position to another window displaying graphics data.
An issue arises when a window displaying the video data is in a background position to a window displaying graphics data and the graphics data includes an image that has color data equivalent to the chroma key color data. When the image at least partially overlaps the chroma color data, the image will display the video data in positions that have the color data. As such, the resulting display has the effect of the video data bleeding into the foreground window.
Such an issue arises due to the architecture of video graphics processing circuitry. Such circuitry includes a scaler to scale graphics data, another scaler to scale video data, and a chroma key color module. As previously mentioned, the graphics data is stored in the frame buffer, while the video data is stored in the video capture module. The frame buffer also stores chroma key color data where the video data is to be displayed. When the pixel data is retrieved from the frame buffer, the chroma key color module monitors for the chroma key color data. When the chroma key color data is detected, the chroma key color module retrieves scaled video data from the video scaler. The chroma key color module, however, does not determine whether the chroma key color data is part of the graphics data or delineating a window for the video data. As such, video image fragments bleed through to graphics images in a foreground position.
Therefore, a need exists for a method and apparatus that enhance image displays by substantially eliminating video image fragments.